package cn.edu.wynu.mapper;

import cn.edu.wynu.pojo.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface StudentMapper {

    /**
     * 查询一个学生，通过id
     * @param id id
     * @return 学生实体
     */
    Student queryStudentById(Integer id);
    List<Student> selectAll();

    /**
     * 插入一个学生
     * id会回填到对象内
     * @param student 学生
     * @return 插入的行数
     */
    Integer insertStudent(Student student);

    /**
     * 更新学生信息
     * @param student 学生
     * @return 更新记录数
     */
    Integer updateStudent(Student student);

    /**
     * 删除学生
     * @param id 学生id
     * @return 删除记录数
     */
    Integer deleteStudent(Integer id);

    /**
     * 动态SQL---if
     * @param id id
     * @param sex 性别
     * @return 学生列表
     */
    List<Student> dynamicSelect(@Param("id") Integer id,
                                @Param("sex") String sex);

    /**
     * 动态SQL---choose
     * @param id id
     * @param sex 性别
     * @return 学生列表
     */
    List<Student> dynamicSelectChoose(@Param("id") Integer id,
                                @Param("sex") String sex);


    List<Student> selectStudentByIdIn(List<Integer> list);
}
